%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Filename:      introduction.tex
% Author:        Junwei Wang(wakemecn@gmail.com)
% Last Modified: 2012-04-17 10:18
% Description:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{绪论}
\section{基于属性的加密研究背景}
在许多情况下，当用户对敏感数据进行加密时，这时他迫切需要建立特定
的访问控制策略决定谁可以解密数据。例如，假设FBI在Knoxvile和San
Francisco的公共反腐办公室调查涉及San Francisco说客行贿Tennesseei
国会议员的指控。上级FBI人员可能想加密一份敏感的备忘录以便只有拥有
特定凭据和属性的人员可以查看。例如，上级人员可能指定下述访问结构
来访问此信息：
\centerline{\textsc{(("Public Corruption Office" \textbf{AND} 
("Knoxville" }}
\centerline{\textsc{\textbf{OR} "San Francisco"))
\textbf{OR} "Name: Charlie Eppes")}} 
通过这个访问结构，上级人员可能意味着备忘录只能
被工作在公共Knowxille或者San Francisco反腐办公室的或者名字叫做
Charlie Eppes的人员查看。\par
就像上例中所解释的，秘密数据拥有者能够根据特定的只是选择访问策略。
除此之外，这个人可能不知道其他所有能够访问被加密数据人员的精确身
份，但至少他有以属性或者凭据的方式描述这些人的方法。\par
传统方案中，这种表达式形式的访问控制必须采用可信服务器本地存储数
据的方式。服务器作为通过检查用户是否拥有某种凭据来控制访问记录或
文件的检查器被信任。然而，随着数据的增长，数据会被存储到越来越多
服务器的分布式环境中。在分布式环境中复制数据具有高性能和高可靠性
的优势。但是随着数据的增长，保证数据安全性越来越难；当数据存储在
多个服务器上，任一这些服务器被攻破的可能性大幅攀升。基于这些原因
我们需要敏感数据以加密的方式存储，以便在服务器被攻破的情况下数据
仍然保密。\par
公钥加密是一个保障存储和传输敏感数据的强有力机制。传统上，加密被
看作是用户向目标用户或者设备分享数据的一种方法。然而这种方法仅适
用于数据提供方精确的知道确切的知道要跟谁分享数据，然而更多的应用
中数据提供者想要更具接受者的凭据来制定分享机制。也就是说，大多数
现存的公钥加密方案允许一方给另一方加密数据，但是不能够高效的处理
像上述例子中更复杂的表达式形式的访问控制。\par
\section{国内外研究现状}
Sahai和Waters\cite{SW:FuzzyIBE}提出了加密算法本身决定谁可以解密被加
密的加密新思路。数据提供者用谓词$f(\cdot)$描述他想他想如何分享数
据，用户被赋予与他们的凭据$X$关联的密钥;当$f(X)=1$时，拥有凭据
$X$的用户可以解密拥有谓词$f$的密文。Sahai和Waters\cite{SW:FuzzyIBE}
提出了这种问题的正式描述，他们称之为基于属性的加密\footnote{Attribute-Based 
Encryption, 简称ABE}。在ABE中，用户的平局被称为“属性”的字符
串集合表示，谓词用对这些属性的公式表示。SW\footnote{Amit Sahai和
Brent Waters}的技术受到基于身份的加密\footnote{Identity-Based 
Encryption，以下IBE}上一些工作\cite{Shamir:IBC,BF:IBE,Cocks:IBE,CHK:fspk,BB:IBE}
的启发。SW方法的一个缺点是他们最初的构造受限于处理由阈值门组成的
公式。\par
在随后的工作中，Goyal, Pandey, Sahai, and Waters\cite{GPSW:ABE}
进一步阐明了ABE的概念。尤其是，他们提出了两种互补形式的ABE。
其一是密钥策略--基于属性的加密\footnote{Key-Policy ABE,简称KP-ABE},
属性用来描述密文，对属性的公式用来描述用户的私钥。其二是与KP-ABE
互补的密文策略--基于属性的加密\footnote{Ciphertex-Policy ABE,简称
CP-ABE}，属性用来描述用户的凭据即私钥，公式则被加密放附加到密文。
除此之外。Goyal等人\cite{GPSW:ABE}提供了KP-ABE的一种构造。由于它
允许被加密数据的密钥能够被任意单调访问公式描述，所以该构造的代
价较高。这个系统被证明在双线型Diffie-Hellma假设下选择性安全。然
而他们把CP-ABE描述性的构造留做了一个开放性问题。\par
第一次明确解决CP-ABE问题的是Bethencourt，Sahia和Waters\cite{BSW:CPABE}。
他们描述了一个高效的可以描述的系统，这个系统允许加密者以任意单调
访问公式来表达访问谓词$f$，并取得了Gyal等人\cite{GPSW:ABE}系统的
类似表现和效率。
\section{本文的主要工作}
本文主要描述BSW的工作\cite{BSW:CPABE}。在BSW的系统中用户的私钥与
任意数目的字符串形式的属性相关联。另一方面，当一方要要加密数据时，
他们明确相关的属性上的访问结构。仅当用户的属性可以通过密文的访问
结构，他才能解密密文。从数学角度讲，访问结构被描述为单调“访问树”，
访问结构的节点由阈值门组成，叶子节点描述了属性。我们用\textbf{AND}
来构造$n\textrm{-}of\textrm{-}n$阈值门，用\textbf{OR}表示$1\textrm{-}of\textrm{-}n$阈值门。
\section{本文的主要技术}
从较高的水平上讲，本文的主要工作与最近Sahai和Waters\cite{SW:FuzzyIBE},
Goyal等人\cite{GPSW:ABE}的工作相似，但是本文却大量采用了新的技术。
KP-ABE，密文与描述性的属性关联，用户的私钥与策略关联（与我们的情况
恰好相反）。\textit{我们强调KP-ABE中，加密者对谁可以访问他所加密的
数据不具有控制权，除非他选择对数据的描述性数据。}然而，他必须保证
提供给用户适当的私钥以授权或者禁止用户解密密文。换言之，在
\cite{SW:FuzzyIBE,GPSW:ABE}中，“情报”掌握在私钥询问者手中，而不是
加密者手中。在我们的构造里，加密者决定了其他人能否访问他所加密的
数据。因此，在\cite{SW:FuzzyIBE,GPSW:ABE}中的技术不适合我们，我们
必须采用新的技术。\par
从技术的水平上讲，我们必须达到的主要目标是\textit{可抵抗合谋攻击}:
如果多个用户合谋，他们只能解密至少他们中的一个用户可以独立解密的
密文。特别提到绪论一开始提到的例子，假设工作在San Francisco反恐局
的FBI特工与他工作在New York公共反腐局的朋友合谋。我们不希望合谋者
能够解密由他们共同属性加密的备忘录。在我们的构造中，这种安全是
\textit{先决条件}。\par
在\cite{SW:FuzzyIBE,GPSW:ABE}的工作中，通过利用秘密分享方案
\footnote{Secret-Sharing Scheme} \cite{Shamir:SSS,Blakley:SSS}和独
立地选择私密份额嵌入到每一个人的私钥中来保证可地址合谋攻击。秘密分
享方案的每次调用中随机数是独立的，因此可抵制合谋攻击。在我们的情况
中，用户的私钥与属性集而不是属性集上的访问结构关联，因此秘密分享方
案不适用。\par
相反，我们设计了一种采用两级随机掩蔽技术的新的私钥随机技术。这项技
术利用了高效可计算的双线性映射群。\par
最后，我们提供了我们构造的一个实现来展示实践中我们的系统表现是良好
的。
\section{本文的组织结构}
本文的余下部分组织结构如下。在第二章我们将讨论相关的工作，第三章我
们将给出我们的定义以及高效可计算双线性映射群的相关概念，第四章我们
将讨论BSW的构造，第五章我们会提供一个CP-ABE的Java实现，第六章将是本
文的总结。
